// 自己封装一个get请求
import axios from 'axios'
import qs from 'qs'

// 思路：调用get这个方法时，要返回一个axios.get()

// url（string）：接口地址；params（obj）：数据
export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url, {
      params: params
    })
    .then(res => {
      resolve(res.data)
    })
    .catch(err => {
      reject(err.data)
    })
  })
}

// url（string）：接口地址，data（obj）：数据，isFile(boolean)是否包含文件
export function post (url, data, isFile) {
  // 默认配置。不传文件
  let header = {'Content-Type': 'application/x-www-form-urlencoded'};
  // 序列化数据
  let data = qs.stringify(data);
  if(isFile) {
    // 如果要传文件,就需要formData
    let fd = new FormData()
    for(let key in data) {
      fd.append(key, data[key])
    }
    // 传文件时，Content-Type要变化
    header = {'Content-Type': 'multipart/form-data'};
  }
  return new Promise((resolve, reject) => {
    axios.post(url, data, header)
    .then(res => {
      resolve(res.data)
    })
    .catch(err => {
      reject(err.data)
    })
  })
}